package cn.iocoder.yudao.module.acm.controller.admin.onboardproduceplan.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalTime;

@Schema(description = "管理后台 - 航机管理-机供品生产计划新增/修改 Request VO")
@Data
public class OnboardProducePlanSaveReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "2311")
    private Long id;

    @Schema(description = "计划编号")
    private String planCode;

    @Schema(description = "航班号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "航班号不能为空")
    private String flightNo;

    @Schema(description = "所属公司")
    private String airlineComp;

    @Schema(description = "起飞时间")
    private LocalTime depTime;

    @Schema(description = "起飞地点")
    private String depLoc;

    @Schema(description = "起飞站点三字代码")
    private String depIata;

    @Schema(description = "降落地点")
    private String arrLoc;

    @Schema(description = "降落站点三字代码")
    private String arrIata;

    @Schema(description = "降落时间")
    private LocalTime arrTime;

    @Schema(description = "预落时间")
    private LocalTime preLandingTime;

    @Schema(description = "航班性质", example = "1")
    private String flightType;

    @Schema(description = "航线类别", example = "2")
    private String airlineType;

    @Schema(description = "前舱数量")
    private Integer frontCabinQty;

    @Schema(description = "中舱数量")
    private Integer middleCabinQty;

    @Schema(description = "后舱数量")
    private Integer rearCabinQty;

    @Schema(description = "机供品配置id", example = "12211")
    private Long onboardId;

    @Schema(description = "服务用具配置id", example = "7067")
    private Long serviceId;

    @Schema(description = "纺织品配置id", example = "15355")
    private Long textileId;

    @Schema(description = "特殊说明")
    private String remarks;

    @Schema(description = "标记状态:1未标记;", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "标记状态:1未标记;不能为空")
    private Integer markStatus;

    @Schema(description = "生产状态，默认1未开始2进行中3已结束", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "生产状态，默认1未开始2进行中3已结束不能为空")
    private Integer status;

}